Skip to content

Add anchor outputs announcement blog post #214

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Aug 2, 2023
Merged

Add anchor outputs announcement blog post #214

merged 1 commit into from
Aug 2, 2023

Conversation

wpaulino
Copy link
Contributor

No description provided.

@netlify
Copy link

netlify bot commented Jul 26, 2023

Deploy Preview for lightningdevkit ready!

Name Link
🔨 Latest commit 3c5ab9a
🔍 Latest deploy log https://app.netlify.com/sites/lightningdevkit/deploys/64c95601e079d60008a5c34b
😎 Deploy Preview https://deploy-preview-214--lightningdevkit.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

Copy link
Contributor

@tnull tnull left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Went over it and added a bunch of suggestions, feel free to disregard any/all.

Lightning channels rely on pre-signed transactions that its participants can broadcast to the
network if they wish to close the channel unilaterally, e.g., when their counterparty is offline.
Before the anchor outputs feature, participants continually negotiated their commitment
transaction’s fees based on the current blockspace demand to ensure a timely confirmation if they
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe "via the BOLT2 update_fee mechanism` if users desire to know more about legacy mechanism.

Before the anchor outputs feature, participants continually negotiated their commitment
transaction’s fees based on the current blockspace demand to ensure a timely confirmation if they
were to be broadcast. This fee negotiation unfortunately came with its own set of problems. If
participants disagreed on the fees proposed for a channel, the channel became unusable due to a
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don’t know if unusable is the most correct term, rather “the channel would have been automatically shutdown”.

You might have issue when the channel become “stuck” / unusable because of wrong-estimation of the fee spikes reserve and the initiator do not have sufficient balance to add even an incoming HTLC output on the respective commitment transactions.

Quite nerdy as a distinction.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well it's still unusable, one is permanent and the other temporary. I think it's clear we're referring to the permanent one with "due to a unilateral close"?

Child-Pays-For-Parent (CPFP) fee-bumping mechanism. A small portion of fees must still be allocated
to commitment transactions to ensure they can enter nodes’ mempools on their own. This will be
required until package relay is deployed network-wide, at which point we can have a fixed 1 sat/vB
commitment transaction and do away with the fee negotiation once and for all, eliminating the most
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I’m not so sure we’ll kill the fee negotiation mechanism as it’s coming as the downside of increased fee-bumping reserve on both sides of the channel. Though better to raised this issue on the mailing list.

open/accept more channels than its reserve is meant to handle, potentially resulting in a loss of
funds if any HTLCs need to be resolved onchain. In the meantime, application developers will need to
determine whether their use case warrants such enforcement and implement it themselves. For example,
a mobile user connected to a LSP could always defer to the LSP to broadcast the latest state such
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think a better example can be to say “a mobile user could always defer the fee-bumping of its commitment or HTLC transactions to a third-party watchtowers”.

Ideally you wouldn’t let the LSP with whom you have an opened channel be responsible of confirming your time-sensitive state, as they have a competing interest not to do so. However a crowd of watchtower sounds more adequate.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is this competing interest? They also provide a better UX by users being able to claim their balance immediately once the force close confirms.

---

Stay tuned for a [BitcoinDevelopers livestream](https://twitch.tv/BitcoinDevelopers) Thursday,
August 3rd at 4:00 PM UTC! Conor and Wilmer will be going over how to integrate anchor outputs into
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lol wen bitcoindevelopers livestream at the super bowl halftime to announce new LDK features :)

@ConorOkus ConorOkus merged commit 9078f99 into lightningdevkit:main Aug 2, 2023
@wpaulino wpaulino deleted the anchors branch August 2, 2023 16:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants